﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using AcadPos.Data;
using AcadPos.Entity;
using System.Data;

namespace AcadPos.Bussiness
{
    public class NGDisciplina
    {
        #region Inserir
        public bool inserir(Disciplina disciplina, string usuario)
        {
            return new DBDisciplina().inserir(disciplina, usuario);
        }
        #endregion

        #region Alterar
        public bool alterar(Disciplina disciplina, string usuario)
        {
            return new DBDisciplina().alterar(disciplina, usuario);
        }
        #endregion

        #region Excluir
        public bool excluir(Disciplina disciplina, string usuario)
        {
            return new DBDisciplina().excluir(disciplina, usuario);
        }
        #endregion

        #region Listar Disciplina
        public DataTable listarDisciplina(Disciplina disciplina)
        {
            return new DBDisciplina().listarDisciplina(disciplina);
        }
        #endregion

        #region Verificar Disciplina
        public DataTable disciplinaJaExiste(Disciplina disciplina)
        {
            return new DBDisciplina().disciplinaJaExiste(disciplina);
        }
        #endregion

        #region Lista Disciplinas Por Professor
        public DataTable listaDisciplinasProfessor(Turma turma)
        {
            return new DBDisciplina().listaDisciplinasProfessor(turma);
        }
        #endregion

        #region Lista Professores Apto Disciplina
        public DataTable listaProfessorAptosDisc(int idDisciplina, string nome)
        {
            return new DBDisciplina().listaProfessorAptosDisc(idDisciplina, nome);
        }
        #endregion

        #region Insere Disc Por Professor
        public string inserirDiscProfessor(ProfissionalDisciplina profDisc, int qtdDisc, string usuario)
        {
            return new DBDisciplina().inserirDiscProfessor(profDisc, qtdDisc, usuario);
        }
        #endregion

        #region Excluir Disciplina por Professor
        public bool excluirDiscProfessor(ProfissionalDisciplina profDisc, string usuario)
        {
            return new DBDisciplina().excluirDiscProfessor(profDisc, usuario);
        }
        #endregion

        #region Cadastrar Valor Titulação
        public bool inserirValorTitulacao(ProfissionalDisciplina profDisc)
        {
            return new DBDisciplina().inserirValorTitulacao(profDisc);
        }
        #endregion

        #region Lista Disciplinas do aluno Por Professor
        public DataTable listaDisciplinasAlunoProfessor(Turma turma, int matricula)
        {
            return new DBDisciplina().listaDisciplinasAlunoProfessor(turma, matricula);
        }
        #endregion

        #region Lancar Nota e Falta
        public bool lancarNotaFalta(Disciplina disciplina, int idTurma, int matricula)
        {
            return new DBDisciplina().lancarNotaFalta(disciplina, idTurma, matricula);
        }
        #endregion

        #region Retorna Limite falta
        public int retornaLimiteFaltas(int idMatrizCurricular)
        {
            return new DBDisciplina().retornaLimiteFaltas(idMatrizCurricular);
        }
        #endregion

        #region Lista Calendário por Polo
        public DataTable listaCalendarioPolo(int idPolo)
        {
            return new DBDisciplina().listaCalendarioPolo(idPolo);
        }
        #endregion

        #region Liberar/Bloquear Disciplina
        public bool liberarBloquearDisciplina(int idProfDisciplina, string libBloq)
        {
            return new DBDisciplina().liberarBloquearDisciplina(idProfDisciplina, libBloq);
        }
        #endregion

        #region Atualizar Data Recepção Diário
        public bool receberDiario(int idProfDisciplina)
        {
            return new DBDisciplina().receberDiario(idProfDisciplina);
        }
        #endregion

        #region Lista Cronograma
        public DataTable listaCronograma(int idProfDisciplina)
        {
            return new DBDisciplina().listaCronograma(idProfDisciplina);
        }
        #endregion

        #region Inserir Cronograma
        public bool inserirCronograma(DateTime dtAula, string descAula, string conteudoAula, int idProfissionalDisciplina)
        {
            return new DBDisciplina().inserirCronograma(dtAula, descAula, conteudoAula, idProfissionalDisciplina);
        }
        #endregion

        #region Alterar Cronograma
        public bool alterarCronograma(int idCronograma, DateTime dtAula, string descAula, string conteudoAula)
        {
            return new DBDisciplina().alterarCronograma(idCronograma, dtAula, descAula, conteudoAula);
        }
        #endregion

        #region Excluir Cronograma
        public bool excluirCronograma(int idCronograma)
        {
            return new DBDisciplina().excluirCronograma(idCronograma);
        }
        #endregion

        #region Incluir Frequência
        public bool incluirFrequencia(int idProfDisciplina)
        {
            return new DBDisciplina().incluirFrequencia(idProfDisciplina);
        }
        #endregion

        #region Excluir Frequencia
        public bool excluirFrequencia(int idCronograma)
        {
            return new DBDisciplina().excluirFrequencia(idCronograma);
        }
        #endregion

        #region Atualizar Frequencia
        public bool atualizarFrequencia(int idFrequencia, char situacao)
        {
            return new DBDisciplina().atualizarFrequencia(idFrequencia, situacao);
        }
        #endregion

        #region Listar Frequencia
        public DataTable listarFrequencia(int idCronograma)
        {
            return new DBDisciplina().listarFrequencia(idCronograma);
        }
        #endregion

        #region Carregar dados do Profissional da Disciplina
        public ProfissionalDisciplina carregarDadosProfDisciplina(int IdProfissionalDisciplina)
        {
            return new DBDisciplina().carregarDadosProfDisciplina(IdProfissionalDisciplina);
        }
        #endregion
        
        #region Cronograma de Aulas por Data
        public DataTable listaCronogramaAulasPorData(int idPolo, DateTime dtAula)
        {
            return new DBDisciplina().listaCronogramaAulasPorData(idPolo, dtAula);
        }
        #endregion

    }
}
